package controleur;


import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;


import vue.PanelK0;
import vue.VueEditeurCK;

import modele.CKModel;
import modele.Concept;


public class ControleBtnC0 implements ActionListener, KeyListener {

	private CKModel<String, String> _modele;
	private VueEditeurCK _vue;
	
	public ControleBtnC0(CKModel<String, String> modele, VueEditeurCK vue){
		_modele = modele;
		_vue = vue;
	}

	public void actionPerformed(ActionEvent e) {
		
			
			if ( _vue.getPanelC0().getTextC0().isEmpty()){
				
				_vue.getPanelC0().setLblErrorC0("Veuillez remplir ce champ");
				
			} else {
				
				_vue.getPanelC0().setLblErrorC0("");
				// Creation du concept CO
				Concept<String> C0 = new Concept<String>(0, _vue.getPanelC0().getTextC0());
				_modele.setCSpace(C0);
				
				PanelK0 pnlK0 = new PanelK0(_modele, _vue);
				_vue.setPanelK0(pnlK0);

				// On enleve le panel d'initialisation
				_vue.getEditorFrame().remove(_vue.getPanelC0());
				_vue.getEditorFrame().add(_vue.getPanelK0(), BorderLayout.NORTH);
				
				_vue.getEditorFrame().paint(_vue.getEditorFrame().getGraphics());
				_vue.dessiner();
			}
		
	}

	public void keyTyped(KeyEvent e) {
		if(e.getKeyChar() == '\n'){
			if ( _vue.getPanelC0().getTextC0().isEmpty()){
					
					_vue.getPanelC0().setLblErrorC0("Veuillez remplir ce champ");
					
				} else {
					
					_vue.getPanelC0().setLblErrorC0("");
					// Creation du concept CO
					Concept<String> C0 = new Concept<String>(0, _vue.getPanelC0().getTextC0());
					_modele.setCSpace(C0);
					
					PanelK0 pnlK0 = new PanelK0(_modele, _vue);
					_vue.setPanelK0(pnlK0);
		
					// On enleve le panel d'initialisation
					_vue.getEditorFrame().remove(_vue.getPanelC0());
					_vue.getEditorFrame().add(_vue.getPanelK0(), BorderLayout.NORTH);
					
					_vue.getEditorFrame().paint(_vue.getEditorFrame().getGraphics());
					_vue.dessiner();
			}	
		}
	}

	public void keyPressed(KeyEvent e) {
		// TODO Auto-generated method stub
	}

	public void keyReleased(KeyEvent e) {
		// TODO Auto-generated method stub

	}

}
